package com.dq.health.service;

import com.dq.health.dto.response.menu.SysMenuTreeInfo;
import com.dq.health.entity.menu.SysMenu;
import com.dq.health.utils.data.Tree;

import java.util.List;

/**
 * <菜单接口>
 *
 * @Author: chenxin
 * @Date: 2021/5/11
 */
public interface IAPIMenuService {

    /**
     * 功能描述: 根据角色ID查询菜单树信息
     *
     * @author: chenxin
     * @param: [roleId]
     * @date: 2021/5/11
     */
    List<SysMenu> selectMenuListByRoleId(Long roleId);

    /**
     * 功能描述: 构建前端路由所需要的菜单
     *
     * @author: chenxin
     * @param: [menus]
     * @date: 2021/5/11
     */
    Tree<SysMenuTreeInfo> buildMenus(List<SysMenu> menus);

    /**
     * 功能描述: 查询所有系统菜单列表
     *
     * @author: chenxin
     * @date: 2021/5/11
     */
    List<SysMenu> selectMenuList();

    /**
     * 根据权限名称查询菜单
     *
     * @param permission
     * @return
     */
    SysMenu getMenuByPermission(String permission);

}
